package com.swu.pad.activity.service;

import java.util.List;
import java.util.Map;

import com.swu.pad.activity.entity.Activity;
import com.swu.pad.activity.entity.ActivityGroupVision;
import com.swu.pad.system.entity.User;

public interface ActivityService {

	/**
	 * 创建活动
	 * @param activity
	 * @return
	 */
	public Activity createActivity(Activity activity);

	/**
	 * 获取作业活动
	 * @param assignmentId
	 * @return
	 */
	public List<Activity> getActivityByAssignmentId(String assignmentId);

	/**
	 * 删除作业活动
	 * @param activityId
	 */
	public void deleteActivity(String activityId);

	/**
	 * 获取活动的每个组视图
	 * @param activityId
	 * @return
	 */
	public List<ActivityGroupVision> getActivityGroupVisions(String activityId);

	/**
	 * 保存活动组视图
	 * @param activityGroupVision
	 * @return
	 */
	public ActivityGroupVision saveActivityGroupVision(ActivityGroupVision activityGroupVision);

	/**
	 * 获取作业当前处于的活动
	 * @param assignmentId
	 * @return
	 */
	public Activity getAssignmentCurrentActivity(String assignmentId);

	/**
	 * 获取当前用户的所有活动
	 * @param id
	 * @return
	 */
	public List<Map<String, Object>> getAllCurrentActivity(String userId);

	/**
	 * 获取user互评阶段需要评论的pad
	 * @param activityId
	 * @param userId
	 * @return
	 */
	public Map<String, Object> getCommentAssignmentPad(String activityId, String userId);

	/**
	 * 获取用户活动的视图
	 * @param activityId
	 * @param userId 
	 * @return 
	 */
	public ActivityGroupVision getActivityGroupVision(String activityId, String userId);
    
	//获得学生可以进行的 活动
	public List<Activity> getCanDoActivities(User user, String assignmentId);

}
